查看原文
其他

Back-Training: 用于问题生成和段落检索的全新领域自适应方法

Maple小七 PaperWeekly 2022-07-06


©PaperWeekly 原创 · 作者 | Maple小七

学校 | 北京邮电大学硕士生

研究方向 | 自然语言处理


本文提出了一种新的领域自适应方法:back-training,传统的 self-training 生成的训练数据的输入是真实的,而输出是生成的,back-training 生成的训练数据的输入是生成的,而输出是真实的,作者通过实验证明了相比于 self-training,back-training 生成的训练数据可以在目标域上训练出性能更好的模型。

论文标题:

Back-Training excels Self-Training at Unsupervised Domain Adaptation of Question Generation and Passage Retrieval


论文链接:

https://arxiv.org/abs/2104.08801


代码链接:

https://github.com/McGill-NLP/MLQuestions



引言

构建高质量的垂直领域问答模型往往需要大量的人工标注数据,然而垂直领域的问答对的标注成本通常是非常高的,常常需要标注人员具有一定的领域知识,因此如何借助迁移学习(Transfer Learning)或领域自适应(Domain adaption)的方法来减少甚至消除人工标注成本,在目标域上训练出泛化能力更好的模型,是一个受到了广泛关注的问题。

一种最常用的领域自适应方法是 self-training,其基本思路很简单,就是先在标注数据丰富的源域(source domain)上训练可以为目标域(target domain)生成标注数据的模型,然后用该模型为目标域生成训练数据(synthetic data),最后在这些生成的训练数据上训练我们想要的模型。为了提升生成数据的质量,通常还会加上一致性检查(consistency check)和迭代优化(iterative refinement)的训练技巧。


Back-training

然而迁移学习的效果往往差强人意,self-training 生成的数据并不一定能够在目标域上训练出足够优秀的模型,本文提出了一种新的领域自适应方法:back-training,该方法的思想和机器翻译中的 back-translation 很相似。

相比于 self-training,back-training 对目标域的无监督数据是有要求的,具体来说,假设我们希望在目标域上训练出一个问题生成模型 ,那么 self-training 只要求目标域数据包含段落(paragraphs) 就行了,而 back-training 要求目标域数据不仅要有段落 ,还要有问题 ,但段落和问题并不需要对齐。
这样的假设在实际应用中是很常见的,在一些垂直领域上,段落和问题都相对容易获得,但对齐的段落和问题却很难获得,如果想要人工标注对齐的话,通常需要很强的领域知识。
本文重点关注问题生成(question generation)和段落检索(passage retrieval) 任务,设源域数据集为 ,目标域数据集为 ,注意 是没有对齐的,任务目标是学习出可以在目标域上表现良好的问题生成(QG)模型和段落检索(IR)模型的参数

以问题生成任务为例,self-training 和 back-training 的训练过程分别是:

  • self-training:首先在源域上训练一个问题生成模型 ,然后用该模型为目标域的段落 生成问题 ,最后用生成的 来微调 得到最终的问题生成模型
  • back-training:首先在源域上训练一个段落检索模型 ,然后用该模型为目标域的问题 检索段落 ,最后用生成的 来微调 得到最终的问题生成模型

我们可以发现 self-training 生成的数据为 ,而 back-training 生成的数据为 ,也就是说 self-training 生成的输入是真实的,但输出是有噪声的,而 back-training 生成的输入是有噪声的,但输出是真实的。直观来看,输出的真实性比输入的真实性更为重要,因为输出直接影响着后续的评估指标。
下面的训练流程更清晰地展现了 self-training 和 back-training 的差异。


实验

接下来,作者通过一个具体的任务来验证了 back-training 相比于 self-training 的优越性。
3.1 数据集

源域数据集采用的是通用领域的 NaturalQuestions 数据集,目标域数据集采用的是作者自制的 MLQuestions 数据集,该数据集包含 35000 条采自 Google Search 的机器学习领域的问题和 50000 个采自 Wikipedia 的机器学习领域的段落,数据采集过程可参考原文。

从下表我们可以看出,这两个数据集的分布是相当不同的,因此想用无监督的方法在目标域上训练 QG 或 IR 模型是具有一定的挑战性的。
3.2 模型
问题生成模型 采用 BART,段落检索模型 采用 DPR,这两个模型不用作过多介绍。
3.3 结果

3.3.1 Transfer from Source to Target Domain without Adaptation

如果直接将在 NaturalQuestions 数据集(IID)上训练的模型用到 MLQuestions 数据集(OOD)上,对应的评估指标通常会掉一大半。

3.3.2 No-adaptation vs self-training vs back-training
下表展示了三种不同的训练策略给出的模型表现,可以发现 back-training 比起 self-training 有明显的性能提升。
3.3.3 Qualitative analysis of self-training and back-training
下图展示了训练过程中模型从源域迁移至目标域时,在生成数据集和测试数据集上生成问题的困惑度变化曲线,对于 back-training,模型在生成数据集和测试数据集上的困惑度是成正比的,即 back-training 生成的数据和目标域的真实分布更加接近,而 self-training 虽然在生成数据集上取得了较低的困惑度,但在测试数据集上的困惑度反而变高了,这说明 self-training 生成的数据集和真实分布不一样,生成数据的分布更偏向于源域,因此产生了过拟合。
下图展示了 self-training 和 back-training 生成数据的置信度分布,可以发现 back-training 生成的数据具有低均值,高方差的特点,这表明生成的数据更富有多样性,而 self-training 生成的数据则缺少多样性。
3.3.4 Consistency filters for Self-Training and Back-Training

在 self-training 中,人们通常会设置一个判别模型来过滤掉低置信度的生成样本。作者尝试了两种过滤策略:

  • Self-Consistency:生成模型和判别模型是同一个模型,即过滤掉生成置信度较低的样本;

  • Cross-Consistency:生成模型和判别模型不同,比如用额外的 QA 模型来判断 QG 模型生成的 QA 对是否一致,该策略其实就是两年前谷歌提出的 roundtrip consistency。
由于问题生成和段落检索是对偶任务,因此这两种过滤策略其实可以结合起来,再加上常用的 bootstrap 迭代优化,就形成了下图所示的训练流程:

3.3.5 Are consistency filters useful?

加入一致性过滤能带来一定的效果提升,但目前实验结果还不完整。

3.3.6 Is iterative refinement useful?
迭代优化的训练过程对 back-training 是有用的,但是对self-training的作用不明显。

3.3.7 Human Evaluation Results
作者也采用了人工评估的方式来评估不同训练方法的效果,如下表所示,back-training 在各个评估维度上都有所改进。

3.3.8 Analysis of Question Types
源域和目标域的问题类别分布是不一样的,从下图我们可以发现模型生成了很多 Description 类的问题,较少地生成了 Explanation 和 Preference 类问题,这和 NaturalQuestions 数据集和 MLQuestions 数据集的分布差异是强相关的。

结论

back-training 利用到了问题生成任务和段落检索任务之间的对偶性质,这样的对偶任务其实并不少见,比如图像问题生成(Visual Question Generation)和图像检索(Image Retrieval)也适用于 back-training,直观上来说,back-training 相比于 self-training 引入了更多的信息,因此效果远比 self-training 好,不过这些结论依旧缺乏更严谨的理论分析。

更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编






🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存